From: Jason Rumney Date: Sun, 18 Apr 2004 18:34:03 +0000 (+0000) Subject: (Fw32_set_clipboard_data): Get sequence number after closing the clipboard. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~23102 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=b3897dc11f35833b588481c7acf2c4bc5f326687;p=emacs.git (Fw32_set_clipboard_data): Get sequence number after closing the clipboard. --- diff --git a/src/w32select.c b/src/w32select.c index 940cce35772..0c8849c7be6 100644 --- a/src/w32select.c +++ b/src/w32select.c @@ -259,11 +259,18 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, ok = EmptyClipboard () && SetClipboardData (CF_TEXT, htext); + CloseClipboard (); + + /* Common sense says to read the sequence number inside the + OpenClipboard/ CloseClipboard block to avoid race conditions + where another app puts something on the clipboard straight after + us. But experience suggests that the sequence number from the + SetClipboardData is not allocated until we close the clipboard! + Since clipboard operations are normally user-driven, the race + condition is probably not going to really happen. */ if (clipboard_sequence_fn) last_clipboard_sequence_number = clipboard_sequence_fn (); - CloseClipboard (); - if (ok) goto done; error: